package com.suncreate.zhtz.iot.service.impl;

import com.suncreate.zhtz.iot.model.ScOcrTaohuatai;
import com.suncreate.zhtz.iot.dao.ScOcrTaohuataiDao;
import com.suncreate.zhtz.iot.service.ScOcrTaohuataiService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.*;

/**
 * 桃花台DVOR状态监测采集器 桃花台DVOR数据监测采集器 桃花台DME数据监测采集器(ScOcrTaohuatai)表服务实现类
 *
 * @author makejava
 * @since 2021-09-13 14:09:57
 */
@Service("scOcrTaohuataiService")
public class ScOcrTaohuataiServiceImpl implements ScOcrTaohuataiService {
    @Resource
    private ScOcrTaohuataiDao scOcrTaohuataiDao;

    /**
     * 通过ID查询单条数据
     *
     * @param dtime 主键
     * @return 实例对象
     */
    @Override
    public ScOcrTaohuatai queryById(Date dtime) {
        return this.scOcrTaohuataiDao.queryById(dtime);
    }

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    @Override
    public List<ScOcrTaohuatai> queryAllByLimit(int offset, int limit) {
        return this.scOcrTaohuataiDao.queryAllByLimit(offset, limit);
    }

    /**
     * 新增数据
     *
     * @param scOcrTaohuatai 实例对象
     * @return 实例对象
     */
    @Override
    public ScOcrTaohuatai insert(ScOcrTaohuatai scOcrTaohuatai) {
        this.scOcrTaohuataiDao.insert(scOcrTaohuatai);
        return scOcrTaohuatai;
    }

    /**
     * 修改数据
     *
     * @param scOcrTaohuatai 实例对象
     * @return 实例对象
     */
    @Override
    public ScOcrTaohuatai update(ScOcrTaohuatai scOcrTaohuatai) {
        this.scOcrTaohuataiDao.update(scOcrTaohuatai);
        return this.queryById(scOcrTaohuatai.getDtime());
    }

    /**
     * 通过主键删除数据
     *
     * @param dtime 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Date dtime) {
        return this.scOcrTaohuataiDao.deleteById(dtime) > 0;
    }

    @Override
    public List<Map<String,Object>> queryByDtime(String columnName, Date startTime, Date endTime) {
        return this.scOcrTaohuataiDao.queryByDtime(columnName, startTime,endTime);
    }
}
